
# class A:
#     pass
#
# class B(A):
#     pass
#
# class C(B):
#     pass
#
# obj = B()


# print(isinstance(obj, B))
# print(isinstance(obj, A))
# print(isinstance(obj, C))
# A
# 对象与类之间的关系
# isinstance(obj,N): 判断 obj对象 是由N类(N的派生类)实例化的对象 返回 True.
# print(isinstance(obj, A))


# class A:
#     pass
#
# class B(A):
#     pass
#
# class C(B):
#     pass
# 类与类之间的关系
# issubclass(M,N) 判断是M类是N类的子孙.
# print(issubclass(C, B))
# print(issubclass(C, A))


from collections import Iterable
from collections import Iterator

# s1 = 'seewfsdkfl'  # class str(Iterable)   Iterable
# l1 = [1, 2, 3]

# print(type(s1)) # 判断的是对象从属于哪个类
# print(type(l1))

# print("__iter__" in dir(s1))
# print(isinstance(s1, Iterable))


# type 到底是什么?
# type 元类 python中一切皆对象 , 一个类也是一个对象.
# 么这个(类)对象肯定是由类实例化出来的.
# python中你创建的所有类,以及大部分list str等等这些类,都是从type元类实例化得来的.




# python中继承object类都是新式类.
# object 也是由type元类实例化得来的.
# type